The SDK offers the option to store session wallet information securely on select platforms using native secure storage.
StoreSessionPrivateKeyInSecureStorage
in your SequenceConfig
ScriptableObject, we will automatically store the session wallet information for you (on supported platforms) and expose the ability to attempt to recover the session in SequenceLogin
. The default SequenceLoginWindow
will automatically handle the UI flow for this as well (see Authentication). If the platform is not supported, this flag will have no effect.
See below the supported platforms and to learn about the platform’s secure storage solution - it is important to understand the basics of how these systems work and think carefully about the security implications of storing private keys (or any secret for that matter) in persistent storage.
AndroidKeyBridge.java
plugin into your Assets folder. This is most easily done via Samples in the package manager - simply import the sample titled Android Secure Storage
.
Our Keystore plugin for Unity (included in the SDK) requires a Custom Main Gradle Template. Please navigate to your Project Settings, then under Player > Publishing Settings
enable Custom Main Gradle Template
. This will create a file Assets/Plugins/Android/mainTemplate.gradle
(or similar, the editor will show you the path) if you don’t have one already. Here is an example mainTemplate.gradle
file; please copy/paste this (or incorporate into your existing file).
Player > Publishing Settings
enable Custom Gradle Properties Template
. This will create a file Assets/Plugins/Android/gradleTemplate.properties
(or similar, the editor will show you the path) if you don’t have one already. Here is an example gradleTemplate.properties
file; please copy/paste this (or incorporate into your existing file).
data android:scheme
value in your AndroidManifest.xml
file matches the Url Scheme
in your
SequenceConfig.asset
file. Make sure it’s all lowercase.mainTemplate.gradle
correctly defines the androidx.security:security-crypto
plugin such that it is not
overwritten by any other plugin or the Android Plugin Resolver.